import {setCookie,delCookie,getCookie} from '../../assets/js/cookie.js';
import axios from 'axios';
// 是否开启获取登录信息时验证自动用户（true开启，false关闭）
const checkuserFlag = true;
// 登录地址
const AYSSYS_LOGIN_URL = '/asyysy/asyysy_core/api/user/login';
// 获取登录信息地址
const AYSSYS_GETUSER_URL ='/asyysy/asyysy_core/api/user/getUser';
// 注册地址
const AYSSYS_REGISTER_URL ='/asyysy/asyysy_core/api/user/register';
// 退出地址
const AYSSYS_LOGOUT_URL ='/asyysy/asyysy_core/api/user/logout';

//请求头中添加Authorization
axios.defaults.headers['Content-Type'] = 'application/json';
axios.defaults.headers['Authorization'] = getCookie("Authorization")

// 登陆
export function baseLoginFun(userName,password,success,error){
  let data = {
    'userName': userName,
    'password': password
  }
  /*接口请求*/
  axios.post(AYSSYS_LOGIN_URL, data)
    .then((res) => {
      // 返回报文
      const data = res.data;
      console.log("login.baseLoginFun-[" + JSON.stringify(data) + "]");
      // 判断响应是否为空
      if(null == res){
        error("login.baseLoginFun:接口异常-[" + e.message + "]");
      }
      if(data.state != 0){
        error(data.message);
      }else {
        success(data.message);
        // 保持cookie
        setCookie('userName',data.data, 1000 * 60);
        setCookie('Authorization',data.data, 1000 * 60);
      }
  })
  .catch((err) => {
    error("login.baseLoginFun:接口异常-[" + err.message + "]");
  });
}

// 注册
export function baseRegisterFun(userName,userPw,success,error) {
  let data = {
    'userName': userName,
    'password': userPw
  }
  axios.post(AYSSYS_REGISTER_URL, data)
    .then((res) => {
    // 返回报文
    const data = res.data;
    console.log("login.baseRegisterFun-[" + JSON.stringify(data) + "]");
    // 判断响应是否为空
    if(null == res){
      error("login.baseRegisterFun:接口异常-[" + e.message + "]");
    }
    if(data.state != 0){
      error(data.message);
    }else {
      success(data.message);
      // 保持cookie
      setCookie('userName',userName, 1000 * 60);
    }
  })
  .catch((err) => {
    error("login.baseRegisterFun:接口异常-[" + err.message + "]");
  });
}

// 退出登录
export function baseLogoutFun(success) {
  axios.post(AYSSYS_LOGOUT_URL)
  .then((res) => {
    // 返回报文
    const data = res.data;
    console.log("login.baseLogoutFun-[" + JSON.stringify(data) + "]");
    // 判断响应是否为空
    if(null == res){
      error("login.baseLogoutFun:接口异常-[" + e.message + "]");
    }
    if(data.state != 0 || data.message == "用户未登录"){
      //error(data.message);
    }else {
      // 删除cookie
      delCookie('userName')
      delCookie("Authorization");
      success(data.message);
    }
  })
/*  .catch((err) => {
    error("login.baseLogoutFun:接口异常-[" + err.message + "]");
  });*/
}

// 验证是否登录若未登录跳转登录页
export function checkLoginForLogin(that,loginEd) {
  getUser(function(data){
    console.log("未登陆");
    // 跳转登录页
    that.$router.push({name:'Login'});
  },function (data) {
    console.log("已登陆");
    loginEd(data);
  })
}

// 获取登录信息
function getUser(toLogin,loginEd) {
  // 是否开启获取登录信息时验证自动用户
  if(!checkuserFlag){
    console.log("user.getUser-关闭服务端验证登录信息");
    return;
  }
  axios.post(AYSSYS_GETUSER_URL)
    .then((res) => {
      // 返回报文
      const data = res.data;
      console.log("login.getUser-[" + JSON.stringify(data) + "]");
      // 判断响应是否为空
      if(null == res){
        error("login.getUser:接口异常-[" + e.message + "]");
      }
      if(data.state != 0 || data.message == "用户未登录"){
        console.log("toLogin");
        toLogin(data.message);
      }else {
        if(loginEd != undefined && loginEd != null){
          console.log("loginEd");
          loginEd(data.message);
        }
      }
  })
 /* .catch((err) => {
    console.log("login.getUser:接口异常");
    toLogin("login.getUser:接口异常-[" + err.message + "]");
  });*/
}
